<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Promise链</title>
  </head>
  <body>
    <script>
      // 创建一个函数 `loadData`，接受一个数据类型作为参数。
      // 该函数应该创建并返回一个Promise对象，模拟从数据库获取用户数据的异步操作。
      // Promise应该在1秒后解决（resolve）并返回一个包含数据的对象。
      // 或者在1秒后拒绝（reject)并返回一个错误消息。
      // [代码]
      // 调用loadData，使用Promise链的形式加载数据类型typeA成功之后，再加载数据类型typeB。
      // 如果过程中有加载错误的情况，打印错误信息。
      // [代码]
      function loadData(dataType) {
    return new Promise((resolve, reject) => {
      setTimeout(() => {
        if (Math.random() > 0.5) {
          const data = `Loaded data of type ${dataType}`;
          resolve(data);
        } else {
          const errorMessage = `Failed to load data of type ${dataType}`;
          reject(errorMessage);
        }
      }, 1000);
    });
  }
  
  loadData('typeA')
   .then(dataA => {
      console.log(dataA);
      return loadData('typeB');
    })
   .then(dataB => {
      console.log(dataB);
    })
   .catch(error => {
      console.error(error);
    });
    </script>
  </body>
</html>
